PDA

View Full Version : رسم شکل با استفاده از Plot



forodo
سه شنبه 30 مهر 1392, 21:05 عصر
سلام
من کد زیر رو نوشتم

>> for t = 0 : 0.1 : 2;
x(t) = cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);
end
Attempted to access x(0); index must be a positive integer or logical.

بعد می خوام بنویسم

plot(t,x)

اصلاً این کد درسته؟
می خوام این تابع رو رسم کنم.

Imaaan
سه شنبه 30 مهر 1392, 21:13 عصر
سلام
من کد زیر رو نوشتم

>> for t = 0 : 0.1 : 2;
x(t) = cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);
end
Attempted to access x(0); index must be a positive integer or logical.

بعد می خوام بنویسم

plot(t,x)

اصلاً این کد درسته؟
می خوام این تابع رو رسم کنم.

سلام
نیاز به حلقه نیست:


t = 0 : 0.1 : 2;
x = cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);
plot(t,x)

forodo
سه شنبه 30 مهر 1392, 21:19 عصر
اینو انجام دادم شد.
ولی استاد به یکی گفته اینجوریه انگار.
انگار اون آخرین عدد (2) زمانه.
یعنی انگار وقتی قرار باشه بکشه یه محور داریم به اسم (t) x و یه محور داریم به نام t.

forodo
سه شنبه 30 مهر 1392, 21:25 عصر
من نمی دونم کد درسته یانه ولی میدونم که انگار با for باید نوشته بشه.
اصلاً میشه؟

Imaaan
سه شنبه 30 مهر 1392, 21:40 عصر
اینو انجام دادم شد.
ولی استاد به یکی گفته اینجوریه انگار.
انگار اون آخرین عدد (2) زمانه.
یعنی انگار وقتی قرار باشه بکشه یه محور داریم به اسم (t) x و یه محور داریم به نام t.

اینجا هم x بر حسب t بدست اومده، مشکل چیه؟

forodo
سه شنبه 30 مهر 1392, 21:54 عصر
اصلاً با for میشه تابعی رو رسم کرد؟
اصلاً همچین چیزی درسته؟

x(t) = cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);

Imaaan
سه شنبه 30 مهر 1392, 22:10 عصر
اصلاً با for میشه تابعی رو رسم کرد؟
اصلاً همچین چیزی درسته؟

x(t) = cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);


نه درست نیست. تو متلب هر چی حلقه کمتر استفاده بشه، معمولا سریعتر اجرا میشه:


%%
clear;
t0 = 0 : 0.1 : 2;
x =@(t) cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);
plot(t0,x(t0))

%%

clear;
t0 = 0 : 0.1 : 2;
x = zeros(size(t0));
i = 1;
for t = t0
x(i) = cos(22*pi*t) + cos(26*pi*t) + cos(46*pi*t);
i = i + 1;
end
plot(t0,x)

forodo
سه شنبه 30 مهر 1392, 22:21 عصر
تشکر از راهنماییتون.