标题:关于M文件的参数问题
只看楼主
firecat_2
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-24
 问题点数:0 回复次数:3 
关于M文件的参数问题

M文件中如果要在 嵌套的函数中有传递函数 如何定义
例如
x0=[0;0;0;200]
[x,y]=fsolve(@myfun1,x0)
想嵌套下面这个函数
function y=myfun1(x)
a=1.8326;
b=-0.5236;
y=[50*cos(a)+103*cos(x(1))-155*cos(x(2))-50*cos(b)-155*cos(0.3491);
50*cos(a)+103*cos(x(1))+155*cos(x(3))-x(4);
50*sin(a)+103*sin(x(1))-155*sin(x(2))-50*sin(b)-155*sin(0.3491);
50*sin(a)+103*sin(x(1))+155*sin(x(3))-160]
这个函数只是一个值 如何能让 a=linspace(1.836,1.836+2*pi,18);
b=linspace(2*pi-0.536,-0.536,18);相对应时分别求出对应的x
老师说用个传递参数k 可是怎么用呢 请教各位了

搜索更多相关主题的帖子: 参数 文件 
2006-06-26 22:39
Genial
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:175
专家分:0
注 册:2006-3-31
得分:0 
% mysolve.m
% result in xresult, yresult
x0=[0;0;0;200];
aa=linspace(1.836,1.836+2*pi,18);
bb=linspace(2*pi-0.536,-0.536,18);
xresult = [];
yresult = [];
for k=1:18
a = aa(k);
b = bb(k);
[x,y]=fsolve(@(x) myfun1(x,a,b),x0, optimset('Display','off'));
xresult = [xresult x];
yresult = [yresult y];
end


% myfun1.m
function y=myfun1(x,a,b)
y=[50*cos(a)+103*cos(x(1))-155*cos(x(2))-50*cos(b)-155*cos(0.3491);
50*cos(a)+103*cos(x(1))+155*cos(x(3))-x(4);
50*sin(a)+103*sin(x(1))-155*sin(x(2))-50*sin(b)-155*sin(0.3491);
50*sin(a)+103*sin(x(1))+155*sin(x(3))-160];
2006-06-27 08:25
sxs77
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-9-7
得分:0 

版主,这个程序调试过吗.我怎么不能运行啊!我也碰到了类似的问题

2006-09-07 18:29
冰山一角
Rank: 1
等 级:新手上路
帖 子:385
专家分:0
注 册:2006-9-5
得分:0 
不能运行。

做程序员太乏味?来这里www..cn试试吧,你肯定能找到乐趣!
2006-09-08 10:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-75016-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.744893 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved