找回密码
 注册
关于网站域名变更的通知
查看: 400|回复: 4
打印 上一主题 下一主题

矩阵表达式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-17 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
自定义的函数:
+ F9 M; C" P* ^8 K# X) c4 Jfunction f=largejfun(x)3 I1 p# r! Z! e8 q$ @$ V
f=(x-1./1:100).^2;
0 ?! q9 T6 u5 o# a  Z! d3 Gend/ b3 g6 w) f; E' O
: A* [; W( [2 U) D5 @/ h
调用函数的时候:
3 A) B8 ?- J  C6 g2 J! bclc
1 E6 s8 e, t" m0 u) J9 b4 ex0=10*ones(1,100);
8 L( O& ?: m: _% ]0 loptions=optimset('display','iter','TolFun',1e-8);, L! ?# Z& ?5 }3 l5 j
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
/ `) R9 s* R3 j7 j7 ?/ f; r, b* U7 C/ h6 ^+ Q' K: @0 N$ \7 P. f9 J) ?
- X$ A! ^1 q/ H; m7 e" h- d
运行结果出错,出错结果显示如下:
) z- w, l7 `3 a- b$ ^3 N错误使用 fminunc (line 348)4 {# X3 D( @) S( g* V' \% R( o
Supplied objective function must return a scalar value.; q/ _: p4 g1 w- Y1 @) X* ^
0 k8 w+ q2 d2 t" N0 ^4 i& d

' |8 E, _( }- o2 y$ r! s( E7 H3 @出错 fminu1 (line 4)
; O; m: [2 c1 H* b! P6 F, ^$ h[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
8 v8 v7 h  |& g3 S
) I# y- @* D- E* y1 C) c6 {3 M6 m* w# D9 M$ @! W9 f
7 G$ B$ Z5 Q" s7 Y' L
, c* ?& V! o1 L; _
. Y* S8 R$ h: O- P* c# X

$ ^* P4 ~7 |+ H" D
4 T- B/ r$ S3 t; I# K. k+ f

' u% \. B( [/ ], A2 \+ M我将自定义函数改为如下:' R$ _5 g; C3 x  N
function f=largejfun(x)1 \9 _+ T9 Q' B$ K: w4 R0 v; v% L; Y
f=0;
* Z# k3 A- z, V: i9 Ofor i=1:100$ u; R$ Z8 x  K/ W% V" F% \
    f=f+(x(i)-1/i)^2;- r) G* e$ q3 g( o+ G2 b7 s! p1 C
end. w& M# f" d' B' E4 F

6 F! }" o. f' \' k; ?# X最后运行结果没有任何问题。
9 r4 j" L; F7 Y' p0 S4 R5 r6 @) z( l那是哪里有问题呢?

/ \* u! n, D- w8 O9 ~

该用户从未签到

2#
发表于 2020-8-17 10:48 | 只看该作者
很明显啊,f=(x-1./1:100).^2这种写法,甭管你的x是标量还是向量,1./1:100肯定是向量,做差之后还是向量(或矩阵),再求平方,仍然不会是标量啊。. \" e1 q. C$ ^( Y7 v' t
想转换成标量就用sum或者norm之类的函数,通过求和、求模来转化成标量。
/ m. L* Y, W% H/ ?# b! h

点评

谢谢大神指导  详情 回复 发表于 2020-8-20 14:04

该用户从未签到

3#
发表于 2020-8-18 13:24 | 只看该作者
楼上正解,楼主试试

该用户从未签到

5#
 楼主| 发表于 2020-8-20 14:04 | 只看该作者
kekek 发表于 2020-8-17 10:480 U3 Y/ n: n4 F& a
很明显啊,f=(x-1./1:100).^2这种写法,甭管你的x是标量还是向量,1./1:100肯定是向量,做差之后还是向量( ...

' O" \% J2 G/ V$ Y  L谢谢大神指导9 k9 R* r" ?3 B. l" \
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 13:22 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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