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

矩阵表达式

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义的函数:  S+ |2 Y5 f& Z$ w
function f=largejfun(x)# d& G1 t- ~  c6 L  g2 G9 P
f=(x-1./1:100).^2;
1 U. y: O' R+ a' |* Iend
! P/ \8 G+ E# h' s, e" q& z7 t( u
( e# K, F; ~+ R. L- n调用函数的时候:
  }, |1 B- h/ g2 b, \& T: ~clc
8 }2 D: A% }0 G, \3 d' {x0=10*ones(1,100);
2 @3 q4 Q: G% ?( i8 F5 Aoptions=optimset('display','iter','TolFun',1e-8);
7 e5 N5 ~' e* p" M8 f' s: M0 Y[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
6 H1 ?6 W0 E1 }0 D; x3 o0 U
: k+ {3 k7 S0 Q" V: k
. \6 R5 U  p6 T$ u$ [* d$ C运行结果出错,出错结果显示如下:
! l4 }& U2 e- `5 H- L错误使用 fminunc (line 348)
, U" D3 Y% `+ b* F7 R- N" H/ f$ _6 A/ aSupplied objective function must return a scalar value.
6 Y& K9 I) y: L' u! Y( ^9 S" ^, f5 i

! O; H( w, L. F; z# F: m出错 fminu1 (line 4)  R  O% J& o2 J6 {
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)
  W0 N$ b1 h, q9 d  Y$ [6 Y6 B' p1 M* w' F5 Y

; e5 R, {1 z' @9 S( a1 b

  @! L, v! Y( k2 ~9 [, I4 X- q% m! ?, o! Y: R  r5 g
& |# D0 ]! N5 k7 l! ~- m1 H
0 W5 h! s' @" p* R* y
1 R2 ?( u4 E+ s" g7 G

, ?3 H' c3 U- c! {我将自定义函数改为如下:
" m4 |4 n' `$ j  m8 X! @2 hfunction f=largejfun(x)
& L/ R6 a9 F/ {# q4 J  Ff=0;
( I1 t& R' H( v$ ~for i=1:1006 c, V- G4 f, d3 g$ I
    f=f+(x(i)-1/i)^2;# [8 C/ Q, N( l4 E$ l2 L7 l" C' K
end
2 x; M, Y% z, M" @/ A5 d) S
, V; L  ~  \. ^- c/ _# X最后运行结果没有任何问题。
+ s! U4 U5 q+ W, U那是哪里有问题呢?

- n6 S: v% o( W- F3 I1 h

该用户从未签到

2#
发表于 2020-8-17 10:48 | 只看该作者
很明显啊,f=(x-1./1:100).^2这种写法,甭管你的x是标量还是向量,1./1:100肯定是向量,做差之后还是向量(或矩阵),再求平方,仍然不会是标量啊。
0 [* M  Q' o" O7 H( Y# J8 F  `想转换成标量就用sum或者norm之类的函数,通过求和、求模来转化成标量。
! o3 h6 n' X$ v2 Q/ z- Z

点评

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

该用户从未签到

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

该用户从未签到

5#
 楼主| 发表于 2020-8-20 14:04 | 只看该作者
kekek 发表于 2020-8-17 10:48
) O& P3 u' f! x+ u+ w; }% _很明显啊,f=(x-1./1:100).^2这种写法,甭管你的x是标量还是向量,1./1:100肯定是向量,做差之后还是向量( ...

9 J; R) y- f# E7 m" Q( v2 o谢谢大神指导
' A9 r! z  W; K' q1 t7 x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-16 03:24 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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