Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-10-14, 10:51   #1
twism110
初级会员
 
注册日期: 2009-10-14
帖子: 2
声望力: 0
twism110 正向着好的方向发展
灯泡 请教一些问题,刚刚接触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轴的变化吗?

请高手详细指点! 谢谢
twism110 当前离线   回复时引用此帖
旧 2009-10-14, 11:55   #2
twism110
初级会员
 
注册日期: 2009-10-14
帖子: 2
声望力: 0
twism110 正向着好的方向发展
默认 回复: 请教一些问题,刚刚接触matlab

等高手解答...

高手你在哪里
twism110 当前离线   回复时引用此帖
旧 2009-10-14, 12:45   #3
bugauto
初级会员
 
注册日期: 2009-10-13
帖子: 4
声望力: 0
bugauto 正向着好的方向发展
默认 回复: 请教一些问题,刚刚接触matlab

这些问题都是matlab的基本操作。
zeros是生成全0矩阵,zeros(a,b),a是矩阵的行数,b是矩阵的列数。你这里的作用就是生成一个size与t矩阵相同的全0矩阵。
bugauto 当前离线   回复时引用此帖
旧 2009-10-14, 12:52   #4
bugauto
初级会员
 
注册日期: 2009-10-13
帖子: 4
声望力: 0
bugauto 正向着好的方向发展
默认 回复: 请教一些问题,刚刚接触matlab

for k=1 : length(t)
time_t=t(k); % 4. time_t是什么?是定义图像在X轴的变化吗?

这句是简单的赋值而已
这个程序写的复杂了,这里的循环语句可以采用矩阵操作来代替。
matlab程序尽量用矩阵操作来完成
bugauto 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 01:45


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.