![]() |
请教一些问题,刚刚接触matlab
我要画一个f(t)的图像 ,程序如下:
clear; % clear all variables clf; % clear all figures I = 150; A=1.7; T=100; N=5; % number of N t=0 : 0.001 : 3*T; f = zeros(1,length(t)); for k=1 : length(t) time_t=t(k); for n=1:2:N f(k)= f(k)+(2*A)/(pi*n)*sin(2*pi*(n/T)*time_t); end f(k)= f(k)+A/2; end plot(t,f); grid; hold; Original_x = [0 0 T/2 T/2 T T 1.5*T 1.5*T 2*T 2*T 2.5*T 2.5*T 3*T]; Original_Y = [0 A A 0 0 A A 0 0 A A 0 0]; plot (Original_x,Original_Y,'-r'); %plot original square wave xlabel('t (second)'); ylabel('f (t)'); -------------------------------------------------------------------------- t=0 : 0.001 : 3*T % 这里代表我要画的f(t)的3个周期,这个我知道 f = zeros(1,length(t)); % 1.f在这里代表什么? 2.zeros(1,length(t))是什么意思? 3. 为什么从1开始, 还有length(t)又是什么? for k=1 : length(t) time_t=t(k); % 4. time_t是什么?是定义图像在X轴的变化吗? 请高手详细指点! 谢谢 |
回复: 请教一些问题,刚刚接触matlab
等高手解答...
高手你在哪里 |
回复: 请教一些问题,刚刚接触matlab
这些问题都是matlab的基本操作。
zeros是生成全0矩阵,zeros(a,b),a是矩阵的行数,b是矩阵的列数。你这里的作用就是生成一个size与t矩阵相同的全0矩阵。 |
回复: 请教一些问题,刚刚接触matlab
for k=1 : length(t)
time_t=t(k); % 4. time_t是什么?是定义图像在X轴的变化吗? 这句是简单的赋值而已 这个程序写的复杂了,这里的循环语句可以采用矩阵操作来代替。 matlab程序尽量用矩阵操作来完成 |
所有时间均为北京时间。现在的时间是 11:25。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.