关于一个matlab编程的一个很基本的问题
在matlab中,这样定义是可以的:
n=5;
for i=1:n
x(i)=i;
end
但是这个n,如果是通过函数参数传递来的,就不行了,比如:
function x=myfun(n)
for i=1:n
x(i)=i;
end
end
这样就会报错了。该怎么解决呢?
注:这只是简化的一个例子,在我编写的程序中,这个n必须通过函数参数传递,或者至少n应该是可变的。
我处理的实际问题是:找到一个n,使得n阶Hilbert方阵满足给定的一个条件。当然了,解决方法是让n从1开始增加,进行判断。程序中势必出现这样的代码:
for i=1:n %这样它就报错了
for j=1:n
a(i,j)=...
end
end
怎么解决呢?
[解决办法]
这样写貌似 只能把循环体中的最后一个数传过去
[解决办法]
不应该出错呀
[解决办法]
呵呵,感谢啊,那个应该是可以实现的!不应该报错!
[解决办法]
那我就不多说了,祝贺你解决了问题。