کلیدستان

نسخه‌ی کامل: اشکال در اجرای دستور quad (در متلب)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام و عرض ادب و احترام
می خواهم درون یک حلقه for از انتگرال گیری عددی با دستور dblquad استفاده کنم،مشکل اینست که دستور dblquad متغیر حلقه for را درون خود قبول نمی کند،
یعنی کلا دستور quad ثابت درون خود قبول نمی کند.منظورم ثابتیه که از قبل بهش مقدار دادیم،مثلا بگوییم a=2، بعد درون تابع تحت انتگرال از a استفاده کنیم، error میدهد.
نمیدونم تونستم منظورمو برسونم!
ممنون میشم اگر کمکم کنید،واقعا به جواب این سوال نیاز دارم
برای روشنتر شدن سوال ، برنامه را هم ارسال می کنم

کد پی‌اچ‌پی:
%SERRIS 21 ANTENNA H.Parabolic prime focus Reflector Antenna
%1st part E-plane
f
=input(‘plz enter frequncy (Hz):);
l=3e8/f;
k=2*pi/l;
for 
theta=0:.01:pi
I2
=dblquad((((sin(x).^2).*cos(y)+cos(x).^2)./sqrt(1-(sin(y).^2).*(sin(x).^2))).*(sin(y)./(1+cos(y))).*(exp(1i*2*sin(theta).*sin(x).*sin(y)./(1+cos(y)))),0,1.3895,0,2*pi);
E=(1-cos(theta)).*cos(theta).*I2;
plot(theta*180/pi,E)
hold on
end
  

 
سلام.
می توانید کدهای مورد نظرتان را ابتدا به صورت یک رشته (String) تعریف کرده و سپس توسط دستور eval اجرا کنید. چون هنگام ساخت رشته، مقدار متغیر حلقه در متن کد ذکر می شود (نه نماد آن)، دیگر مشکلی به وجود نمی آید (در رشته مورد نظر، مقدار متغیر حلقه قرار داده می شود، نه نماد آن).
یک مثال در این زمینه، در کلید زیر وجود دارد :

کلید شماره 154


 
سلام
برای شطرنجی کردن تصویر(عکس انسان) باید از چه دستوری در برنامه متلب  استفاده کرد ؟