首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matlab:在求解中使用未知数向量

matlab:在求解中使用未知数向量
EN

Stack Overflow用户
提问于 2014-10-16 14:45:54
回答 1查看 781关注 0票数 0

我需要求解一个非线性方程组;为了使用,我编写了一个m文件,其中包含了我的函数"myfun“。这个函数由主m文件调用.

系统和未知数都必须使用"for“循环编写。

示例:

代码语言:javascript
复制
function F=myfun(x)
n=20;`
for j=1:n
    c1=sqrt(x(j)^2-3*x(j));
    c2=x(j)^(1/2);
F(j)=c1+c2;
end

我的问题是,我必须为向量预先分配内存,包括F和x,否则求解者会考虑numel(x)=1。但是如果我声明

代码语言:javascript
复制
F=zeros(n,1);
x=zeros(n,1);

我有以下输出:

代码语言:javascript
复制
No solution found.
fsolve stopped because the problem appears regular as measured by the gradient,
but the vector of function values is not near zero as measured by the
default value of the function tolerance.

有什么建议吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-10-16 14:53:31

你不需要循环,只需使用

代码语言:javascript
复制
F = sqrt(x.^2-3*x) + x.^(1/2);

然后您也不需要声明n,c1,c2。

您的错误消息听起来不像是分配方面的问题,但更重要的是找到了解决问题的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26407309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档