请问如何在matlab中画函数图形 r=cosh(t)*exp(-t/100) 为什么会出现 Inner matrix

问题描述:

请问如何在matlab中画函数图形 r=cosh(t)*exp(-t/100) 为什么会出现 Inner matrix dimensions must agree.如何画 程序代码
1个回答 分类:综合 2014-09-22

问题解答:

我来补答
matlab里画函数图形必须先把自变量的定义域用格点表示,如果你写
t = [0:1:100];
你就等于创造了一个长度为101的向量.Matlab对于cosh(t) 和 exp(-t/100)计算的结果都是向量,也就是对每一个t的值求其函数值.但是由于求出来的东西都是同维度的(你要是会矩阵乘法,就知道两个矩阵乘起来必须前一个矩阵的列等于后一个矩阵的行),而这里cosh(t)和exp(-t/100)都是1*101的列向量,矩阵乘法没法做,所以就出现关于矩阵维度的报错.
你这里只需要计算每一个t下的函数值,因此用点对点的矩阵运算就可以解决.只要写:
r=cosh(t).*exp(-t/100)
就行了.第一个函数右下角的点表示这是点对点的运算,matlab就不会使用矩阵乘法,而是把两个处于相同位置的元素乘起来,用这些乘积组成一个新的向量,维度还是1*101.
 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下