matlab程序问题,Error using ==> mrdivide Matrix dimensions must agree% 抛体运动分析clearL=1000;g=9.8;h=50; % 距离,高度和重力加速度beta=atan(h/L); % 发射炮弹的最小角度alfa=[beta:0.1:70]; % 设定抛射角度范围sita=pi*al

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 03:23:04

matlab程序问题,Error using ==> mrdivide Matrix dimensions must agree% 抛体运动分析clearL=1000;g=9.8;h=50; % 距离,高度和重力加速度beta=atan(h/L); % 发射炮弹的最小角度alfa=[beta:0.1:70]; % 设定抛射角度范围sita=pi*al
matlab程序问题,Error using ==> mrdivide Matrix dimensions must agree
% 抛体运动分析
clear
L=1000;g=9.8;h=50; % 距离,高度和重力加速度
beta=atan(h/L); % 发射炮弹的最小角度
alfa=[beta:0.1:70]; % 设定抛射角度范围
sita=pi*alfa/180;
A=L*sqrt(g/2); % 将角度转化为弧度
v0=A/((cos(sita))*sqrt(L*tan(sita)-h)); % 计算为了击中目标不同抛射角度下的速度
subplot(2,2,1)
plot(alfa,v0) % 画出抛射角度与发射速度的关系曲线
axis([20 70 100 140])
xlabel('发射角度');
ylabel('发射角度/(m/s)');
[V0,n]=min(v0) % 得出最小速度计相应的角度
angle=(n-1)*0.1+20
Error using ==> mrdivide
Matrix dimensions must agree.
Error in ==> Untitled at 8
v0=A/((cos(sita)).*sqrt(L.*tan(sita)-h)); % 计算为了击中目标不同抛射角度下的速度

matlab程序问题,Error using ==> mrdivide Matrix dimensions must agree% 抛体运动分析clearL=1000;g=9.8;h=50; % 距离,高度和重力加速度beta=atan(h/L); % 发射炮弹的最小角度alfa=[beta:0.1:70]; % 设定抛射角度范围sita=pi*al
beta=atan(h/L); % 发射炮弹的最小角度 --- beta是弧度值,不是角度值.
alfa=[beta:0.1:70]; % 设定抛射角度范围 --- 可能与你的意思不太一样.
现在说下你的出错信息的含义:
v0=A/((cos(sita))*sqrt(L*tan(sita)-h)); % 计算为了击中目标不同抛射角度下的速度
分母结果是一个一维数组,而分子却只是一个数,数是不能除以数组的;
你想表达的意思是用A除以数据的每一个元素,只需要改变一下除号形式:
由 / 改为 ./ 点斜杠
类似的 * 对应有 .*
幂 ^ 对应有 .^