function [r,p,q,x] = yn(n)
r = 0.994 * (1/2)^n;
p = -0.006 + 1.006 * (1/2)^n;
q = -1.503 * (4 / 3) * (1 - (1 / 4)^n) * 2^(n-1) + 2^n;
x = (1/2)^n;
如上编程语言,用matlab运行
t = 1:1:10;
>> [a,b,c,d] = yn(t);
的时候,显示错误为
Error using *
Inner matrix dimensions must agree.
表示的是“内矩阵维度必须一致”,也就是说参与运算的一些变量的矩阵维数不同.只要将维数对应就好了。
解决方法:
在不同维数运算量的运算符前面加上 "."即可。
如下:
function [r,p,q,x] = yn(n)
r = 0.994 * (1/2).^n;
p = -0.006 + 1.006 * (1/2).^n;
q = -1.503 * (4 / 3) * (1 - (1 / 4).^n) .* 2.^(n-1) + 2.^n;
x = (1/2).^n;
再运行时候,即可正确调用函数了。