Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-10-14
帖子: 2
声望力: 0 ![]() |
![]()
我要画一个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轴的变化吗? 请高手详细指点! 谢谢 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-10-14
帖子: 2
声望力: 0 ![]() |
![]()
等高手解答...
高手你在哪里 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-10-13
帖子: 4
声望力: 0 ![]() |
![]()
这些问题都是matlab的基本操作。
zeros是生成全0矩阵,zeros(a,b),a是矩阵的行数,b是矩阵的列数。你这里的作用就是生成一个size与t矩阵相同的全0矩阵。 |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-10-13
帖子: 4
声望力: 0 ![]() |
![]()
for k=1 : length(t)
time_t=t(k); % 4. time_t是什么?是定义图像在X轴的变化吗? 这句是简单的赋值而已 这个程序写的复杂了,这里的循环语句可以采用矩阵操作来代替。 matlab程序尽量用矩阵操作来完成 |
![]() |
![]() |