声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3311|回复: 1

[编程技巧] Conversion to double from sym is not possible 出错

[复制链接]
发表于 2007-10-5 10:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
大家帮忙看一下,我的程序出的什么错误
%main.m
clear all
x0=[1 0 0 0 0 0];
[x,fval]=fminsearch(@(x)myfun,x0)

%myfun.m
function J=myfun(f11,f12,f21,f22,f31,f32)
syms f11 f12 f21 f22 f31 f32 real
A=[0 0 0;1 0 0;0 1 1];
Ad=[0 0 0;0 0 0;0 0 1];
B=[1;0;2];
C=[0 0 1;0 1 0];
d=0.1;
S=[-1 -2 -3];
f1=[f11 f12]';
f2=[f21 f22]';
f3=[f31 f32]';
N1=[1 0;-1 0;0 1];
N2=[1 0;-2 0;0 1];
N3=[1 0;-3 0;0 1];
D1=[0 -2;1 -1];
D2=[0 -3;4 -1];
D3=[0 -4;9 -1];
V=[N1*f1 N2*f2 N3*f3];
W=[D1*f1 D2*f2 D3*f3];
for i=1:3
for j=1:3
R(i,j)=-(V(:,i)'*V(:,j))/(S(i)+S(j));
end
end
F=V*R*V'*Ad;
J=sqrt(sum(diag(F'*F)));

运行结果
??? Conversion to double from sym is not possible.
Error in ==> fminsearch at 175fv(:,1) = funfcn(x,varargin{;
Error in ==> fumain at 3
[x,fval]=fminsearch(@(x)myfun,x0)
错误是什么意思啊?

[ 本帖最后由 eight 于 2007-10-5 10:24 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-10-5 10:30 | 显示全部楼层
原帖由 zyj_030 于 2007-10-5 10:17 发表
大家帮忙看一下,我的程序出的什么错误
%main.m
clear all
x0=[1 0 0 0 0 0];
[x,fval]=fminsearch(@(x)myfun,x0)

%myfun.m
function J=myfun(f11,f12,f21,f22,f31,f32)
syms f11 f12 f21 f22 f31 f32 ...


请 doc fminsearch 一下,参考一下 fminsearch 函数的使用实例。fminsearch 里面无需使用符号变量
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-27 17:18 , Processed in 0.060888 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表