有MATLAB大神吗,输入参数太多怎么调整,请具体说下

(1)main.m:clearallclcn=50;x0=10*rand(n,1)delta=1;[x,k]=SCGM(x0,delta)(2)SCGM.m:functi... (1)main.m:clear allclcn = 50;x0 = 10*rand(n,1)delta = 1;[x,k] = SCGM(x0,delta)(2)SCGM.m:function [s]= SCGM(g,B,epsilon,delta)n = length(g);x = zeros(n,1);r0 = g;r = r0;p = -g;flag = 1;if sqrt(sum(r0.^2)) < epsilon s = x; flag = 0;endwhile flag if p'*B*p <= 0 tau = ecfc(p'*p,2*x'*p,x'*x-delta^2); s = x+tau*p; flag = 0; disp('非正曲率') continue; end alpha = (r'*r)/(p'*B*p); x_t = x+alpha*p; if sqrt(sum(x_t.^2)) >= delta tau = ecfc(p'*p,2*x'*p,x'*x-delta^2); s = x+tau*p; flag = 0; disp('达到信赖域边界') continue; end r_t = r+alpha*B*p; if sqrt(sum(r_t.^2)) < epsilon*sqrt(sum(r0.^2)) s = x_t; flag = 0; disp('满足停止测试') continue; end beta = (r_t'*r_t)/(r'*r); p = -r_t+beta*p; x = x_t; r = r_t;endk = k-1; 展开
 我来答
trtracyh
2016-05-23
知道答主
回答量:7
采纳率:0%
帮助的人:6万
展开全部
主函数里的[x,k] = SCGM(x0,delta)是调用SCGM.m这个function函数,期中的输入量是x0,delta,一共两个输入量。但是在SCGM.m里function [s]= SCGM(g,B,epsilon,delta),输入量有g,B,epsilon,delta,一共四个。你得在主函数里的[x,k] = SCGM(x0,delta)加上少的两个输入量
赛麦吉
2023-06-03 广告
这是一张SineImage制作的分辨率测试卡配合软件可以自动计算几个关键图像质量因素包括锐度、横向色差、阶调反应、色彩反应及噪点。摄像头分辨率测试卡一种是ISO12233:2000分辨率测试卡,一种是ISO12233:2014 eSFR分辨... 点击进入详情页
本回答由赛麦吉提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式