matlab fsolve函数应用 60

我想求出L1*cos(q1)+L2*cos(q2)+L3*cos(q3)=X,L1*sin(q1)+L2*sin(q2)+L3*sin(q3)=Y中q2,q3的解其它的都... 我想求出L1*cos(q1)+L2*cos(q2)+L3*cos(q3)=X,L1*sin(q1)+L2*sin(q2)+L3*sin(q3)=Y中q2,q3的解其它的都是已知的,请问matlab的程序应该怎么写? 展开
 我来答
张晓直
2018-04-16 · TA获得超过9332个赞
知道小有建树答主
回答量:269
采纳率:96%
帮助的人:79.8万
展开全部

1、matlab是一个功能强大的软件,不仅仅在数据处理方面很优秀,在界面编程方面同样优秀,这里简单介绍下matlab界面编程的基础步骤。

2、在打开的matlab程序中,点击new---graphic user interface,打开创建gui向导--我们选择blank gui,创建空白的gui界面---选择左侧我们需要的控件,如下图,我们选择一个button---将控件拖入到gui界面的合适的位置,双击打开设置属性的界面---设计好界面后,我们先不要编写函数内容,先运行界面---他会提醒我们激活界面将保存界面和代码,我们选择yes---输入文件名,点击保存---我们回到界面编辑界面,点击button右键打开右键菜单,点击view callbacks---callback,来跳转到该控件的回调函数---我们在该函数中输入代码---这时,我们运行程序,点击按钮,即可以在命令窗口中看到button执行的效果。

3、先运行界面,使得matlab给我们创建界面的代码,然后在view callback。

WM_THU
2014-01-15 · TA获得超过7161个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3798万
展开全部
  1.  建立方程组的M-函数文件(fun.m)

    function eq=fun(x, q1)

      eq(1)=L1*cos(q1)+L2*cos(x(1))+L3*cos(x(2))-X;
      eq(2)=L1*sin(q1)+L2*sin(x(1))+L3*sin(x(2))-Y;
      eq = eq(:);

2. 运行主脚本:

q1 = 0; % q1赋值

ff = @(x)fun(x, q1);

y=fsolve(ff, [0.5,0.5])     %[0.5,0.5]是迭代初值

更多追问追答
追问

不好意思,我忘了代入数值了,我先试下!!谢谢你的帮助!!

追答
你得在fun.m里把L1啥的都定义上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
河工轩尼诗
2014-01-15 · TA获得超过214个赞
知道答主
回答量:7
采纳率:0%
帮助的人:3.1万
展开全部
这个需要用到matlab的符号运算了,先将q2、q3设为符号量(syms q2,q3;),然后将上面两个式子(eq1,eq2)列出来,之后slove(eq1,eq2)就行了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式