matlab 求解隐函数方程问题

发布网友

我来回答

1个回答

热心网友

fsolve不行你可以试试fzero,另外,程序总是采用就近搜索的办法求解的,所以解的情况和你的初始值很有关系,再说你这里还有tan函数,搞不好你取了个初始值导致它迭代到90度附近的区域也未可知。你最好还是说下具体报的什么错比较好,这样有针对性。下面是我给的一个函数程序:
function a = myfun(t,H,h,k,c,x0)
% x0 is initial point.
g = @(ksi,t,H,h,k,c) sqrt(3)/4*H/k/h*tan(h^2*k*(c*t-ksi))-ksi;
a = fzero(@(ksi) g(ksi,t,H,h,k,c),x0);

这就是函数的.m文件内容,你把它存到当前目录下,然后运行myfun,输入你的参数数值就行了。我简单试了myfun(.98,1,2,3,4,5),可以算,-0.0032。

热心网友

fsolve不行你可以试试fzero,另外,程序总是采用就近搜索的办法求解的,所以解的情况和你的初始值很有关系,再说你这里还有tan函数,搞不好你取了个初始值导致它迭代到90度附近的区域也未可知。你最好还是说下具体报的什么错比较好,这样有针对性。下面是我给的一个函数程序:
function a = myfun(t,H,h,k,c,x0)
% x0 is initial point.
g = @(ksi,t,H,h,k,c) sqrt(3)/4*H/k/h*tan(h^2*k*(c*t-ksi))-ksi;
a = fzero(@(ksi) g(ksi,t,H,h,k,c),x0);

这就是函数的.m文件内容,你把它存到当前目录下,然后运行myfun,输入你的参数数值就行了。我简单试了myfun(.98,1,2,3,4,5),可以算,-0.0032。

热心网友

fsolve不行你可以试试fzero,另外,程序总是采用就近搜索的办法求解的,所以解的情况和你的初始值很有关系,再说你这里还有tan函数,搞不好你取了个初始值导致它迭代到90度附近的区域也未可知。你最好还是说下具体报的什么错比较好,这样有针对性。下面是我给的一个函数程序:
function a = myfun(t,H,h,k,c,x0)
% x0 is initial point.
g = @(ksi,t,H,h,k,c) sqrt(3)/4*H/k/h*tan(h^2*k*(c*t-ksi))-ksi;
a = fzero(@(ksi) g(ksi,t,H,h,k,c),x0);

这就是函数的.m文件内容,你把它存到当前目录下,然后运行myfun,输入你的参数数值就行了。我简单试了myfun(.98,1,2,3,4,5),可以算,-0.0032。

热心网友

fsolve不行你可以试试fzero,另外,程序总是采用就近搜索的办法求解的,所以解的情况和你的初始值很有关系,再说你这里还有tan函数,搞不好你取了个初始值导致它迭代到90度附近的区域也未可知。你最好还是说下具体报的什么错比较好,这样有针对性。下面是我给的一个函数程序:
function a = myfun(t,H,h,k,c,x0)
% x0 is initial point.
g = @(ksi,t,H,h,k,c) sqrt(3)/4*H/k/h*tan(h^2*k*(c*t-ksi))-ksi;
a = fzero(@(ksi) g(ksi,t,H,h,k,c),x0);

这就是函数的.m文件内容,你把它存到当前目录下,然后运行myfun,输入你的参数数值就行了。我简单试了myfun(.98,1,2,3,4,5),可以算,-0.0032。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com