当前位置: 代码迷 >> 其他开发语言 >> 急matlab新手有关问题
  详细解决方案

急matlab新手有关问题

热度:1318   发布时间:2013-02-26 00:00:00.0
急!!matlab新手问题
打了三行代码 r=[-0.1:0.1:0.6];
  axis=([-0.1 0.6 10 50]);%横纵坐标轴
  plot(r,-40+[0.9*0.043*(1+2.71828)*16-2*0.9*0.043*(-40)+0.9*0.043*34*(1+2.71828)*r]/[0.043*(0.142+0.9-0.142*0.9*0.7)+0.142*0.9*r*r],'r+:')
提示错误:??? Error using ==> mtimes Inner matrix dimensions must agree
这是一个公式我把数字带进去了,想画出曲线图,v和r的关系 不知道怎么改 ,很急,求高手帮忙

------解决方案--------------------------------------------------------
r=[-0.1:0.1:0.6];
axis=([-0.1 0.6 10 50]);%横纵坐标轴
y=-40+(0.9*0.043*(1+2.71828)*16-2*0.9*0.043*(-40)+0.9*0.043*34*(1+2.71828).*r)./(0.043*(0.142+0.9-0.142*0.9*0.7)+0.142*0.9.*r.*r)
plot(r,y,'r+:')

上面的是调好的,可以试试!
------解决方案--------------------------------------------------------
探讨
r=[-0.1:0.1:0.6];
axis=([-0.1 0.6 10 50]);%横纵坐标轴
y=-40+(0.9*0.043*(1+2.71828)*16-2*0.9*0.043*(-40)+0.9*0.043*34*(1+2.71828).*r)./(0.043*(0.142+0.9-0.142*0.9*0.7)+0.142*0.9.*r.*r)
plot(r,y,'r+:')

……

------解决方案--------------------------------------------------------
matlab是以矩阵来进行运算的,矩阵里面的数乘和点乘不同,数乘是矩阵的乘法运算,比如A跟B相乘,A的行数要等于B的列数,而你写的函数应该是要点乘,MATLAB里面的点乘是两个阵对应位置上的数相乘,就是点运算运算形式是:*./*
所以你应该在除号前面加一个“.”,然后再试试!
  相关解决方案