输入参数太多应该如何解决

real(1,156);
for i=1:1:12
real(1,i:i+12)=[1 2 3 4 5 6 7 8 9 10 11 12 13];
end
显示“错误使用 real,输入参数太多。”请问这是因为什么原因

在MATLAB中,real函数的作用是提取复数的实部,它只接受一个输入参数。在您的代码中,real(1,156)和real(1,i:i+12)这样的用法是错误的,因为real函数不接受两个输入参数。

如果您想要创建一个1x156的矩阵,并在每个13个元素的区间内填充1到13的数值,您可以使用以下代码:

real = zeros(1,156);  % 创建一个1x156的零矩阵
for i=1:13:156
    real(i:i+12) = 1:13;  % 在每个13个元素的区间内填充113的数值
end



注意,这里的变量名real和MATLAB的内置函数real重名了,这可能会导致一些问题。我建议您使用其他的变量名,比如myArray。

real()函数只接受1个参数,你都是传递了2个参数,肯定不对啊。
real()函数用来求一个负数的实部,传入的参数是1个复数,你使用的时候传递了2个参数!!(用逗号分隔的是2个参数)

Z = 2+3i;
X = real(Z)

错误是由于对 real() 函数的错误使用导致的。real() 函数用于返回一个复数的实部,但在您的代码中,它被错误地用于赋值操作。

real_vector = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
matrix = zeros(12);
for i = 1:12
    matrix(1,i:i+12) = real_vector;
end

real(1,156);
for i=1:1:12
    real(1,(13i-12):13i)=[1 2 3 4 5 6 7 8 9 10 11 12 13];
end

上面的代码好像有点问题,我的目的是按12345这样赋值,每到13就重新从1开始赋值,应该是这个代码,但运行后仍




```

```然显示输入参数太多