matlab编程中遇到的问题

2024-11-22 00:24:40
推荐回答(2个)
回答1:

矩阵维数不对,在n中将第五个*改成点乘就可以了:

clear
t=1:50;
m=496.6*exp(-0.005*t)+752.4*tan(0.37*exp(-0.005*t))-503.4;
n=sqrt(2466.1*exp(-0.01*t)+3100*exp(-0.01*t).*((sec(0.37*exp(-0.005*t))).^4));
B=m/n
这样出来的结果是一个数,我不知道你要得到是不是一个数,如果要得到的是一个矩阵,那最后一个式子也应该改成点除,即:
clear
t=1:50;
m=496.6*exp(-0.005*t)+752.4*tan(0.37*exp(-0.005*t))-503.4;
n=sqrt(2466.1*exp(-0.01*t)+3100*exp(-0.01*t).*((sec(0.37*exp(-0.005*t))).^4));
B=m./n

回答2:

你用一下我的思路,我已经运行过了,没错。应加一个循环:
for t=1:50
m(t)=496.6*exp(-0.005*t)+752.4*tan(0.37*exp(-0.005*t))-503.4;
n(t)=sqrt(2466.1*exp(-0.01*t)+3100*exp(-0.01*t)*((sec(0.37*exp(-0.005*t))).^4));
B(t)=m(t)/n(t); %由t值计算出对应的B;
end
B %输出B矩阵;