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

矩阵表达式

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义的函数:
8 q' _, B" ^2 b- k& j& Zfunction f=largejfun(x)
( E* j! g. H0 `f=(x-1./1:100).^2;
$ N+ \; C9 @2 i9 nend
. V! ^2 N% j" y( `& v! C+ t% ^5 S3 t; c5 K* D" L+ |4 M! V
调用函数的时候:2 p' ]# I$ o7 G. Q" l: [; u! |
clc
' Y- H) q7 v; F/ sx0=10*ones(1,100);( S' S5 j2 \2 h. h/ e
options=optimset('display','iter','TolFun',1e-8);
1 A" `% {2 M# T( p[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)" V3 F. J$ _2 q7 t6 k. k
+ E7 j6 F% z8 z

/ q& {2 ^" q2 F4 C# t2 [# c/ }; g运行结果出错,出错结果显示如下:
+ y& B8 R* @2 b( y# r# Z6 U错误使用 fminunc (line 348)2 |0 D2 A% i3 P1 y
Supplied objective function must return a scalar value.
5 C- O( {% w* o% W; d1 j! I6 K- f8 b

& @2 L  \% [: R1 p+ K: b( M出错 fminu1 (line 4)2 I& T* Z  v$ V* T
[x,fval,exitflag,output]=fminunc(@largejfun,x0,options)4 W% `) Z; m8 m
4 s4 @* |9 v7 Y4 p) T' L  T# S

& L4 t( J. r% Y
( R* |( o8 D2 k( W3 h$ D3 P( `
5 b* L% M/ d- d. ^4 u' T

; t2 P' P4 \- R, |7 J" E

0 t9 V& o4 F; w4 o0 Q) O& T
/ c: o. l$ i( q3 }, n' h6 t4 p
: x/ U5 {) Q5 r/ a  o3 m
我将自定义函数改为如下:
. I; z7 ~2 N' P9 D4 Bfunction f=largejfun(x)
4 u+ T5 T- S& v  g4 ?f=0;
% s; J9 X5 O; G- R+ k4 ]% Nfor i=1:100
7 y. c9 J- x2 X  M) r$ L    f=f+(x(i)-1/i)^2;
7 @  t* l$ J( w& i* S  @- lend
" |+ X1 Z4 U; P( d% e' U  y, w8 P+ R2 ?* q, o. f+ S
最后运行结果没有任何问题。6 g' _2 v. S, [1 d% ~# A( f
那是哪里有问题呢?
7 I7 ?" v& n4 @. O& c7 M

该用户从未签到

2#
发表于 2020-8-17 10:48 | 只看该作者
很明显啊,f=(x-1./1:100).^2这种写法,甭管你的x是标量还是向量,1./1:100肯定是向量,做差之后还是向量(或矩阵),再求平方,仍然不会是标量啊。  A% c) Q4 N  C# [+ y$ V7 b" F/ D$ T
想转换成标量就用sum或者norm之类的函数,通过求和、求模来转化成标量。5 E' `' s3 Y+ R

点评

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

该用户从未签到

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

该用户从未签到

5#
 楼主| 发表于 2020-8-20 14:04 | 只看该作者
kekek 发表于 2020-8-17 10:48' U/ L) e" H4 e( ~, Y. E
很明显啊,f=(x-1./1:100).^2这种写法,甭管你的x是标量还是向量,1./1:100肯定是向量,做差之后还是向量( ...

, W0 H5 @" R- v" X* P; O! K谢谢大神指导
/ l- @; M  ^! Z9 C! B& G" r/ p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-6 19:15 , Processed in 0.156250 second(s), 25 queries , Gzip On.

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

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

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