请教MATLAB中如何输出一个函数的最大值对应的变量值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教MATLAB中如何输出一个函数的最大值对应的变量值相关的知识,希望对你有一定的参考价值。

参考技术A clear;clc;n=601:3999;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;[max_Tq,nn]=max(Tq);disp('最大值:');disp(max_Tq);disp('对应的n的值:');disp(n(nn))输出结果:最大值:174

matlab 如何保留变量值

现有两个函数,分别叫kuandu和chineselisan。函数chineselisan经过计算得到一个EucDist值,函数kuandu调用函数chineselisan就可以得到多个EucDist值。
要求:如何保留函数kuandu调用函数chineselisan所得到的每一个EucDist值,请给出集体程序,谢谢!

  在使用matlab时,通常要将计算的结果保存到mat文件中。使用的命令是: save filename
  但是用上述命令保存的时候,会将计算过程中的其他变量一起保存了。这中粗糙的保存有以下缺点:
  (1)不需要的数据信息保存到mat文件中,导致mat文件过大;
  (2)下次load这个mat文件时,会显示出其他不需要的数据,占用系统内存。
  因此,在保存数据时,应保存有用的数据变量。
  处理方式:
  (1)先删除变量,再保存
  例如变量a,b,c,d,e,f,g,需要保留a,e,f的值,可以采用命令:clear b c d; 然后save filename
  【适用情况】冗余变量不多的情况,保存的变量较多。
  (2)保存时,指定保存的变量
  例如变量a,b,c,d,……几十几百个变量,需要保留a的值,可以采用命令:save filename a

  【适用情况】冗余变量非常多,保存的变量较少。
参考技术A 可能是因为函数kuandu调用函数chineselisan的时候,上次调用的结果都被下次调用的结果覆盖了。结果被存在同一个变量中了。我们只要将每一个函数chineselisan返回的结果存在数组中就可以了,例如:
i=1:n;
x(i)=chineselisan( 参数 );
或者直接将结果在命令窗口中输出来,即把‘ ;’去掉就可以了本回答被提问者采纳
参考技术B 因为函数是单调的,可以利用二分法来做,给定一个x的初始值,求出f(x),比较这个f(x)与已知f(x)数值的大小,
然后取x/2,再次求出f(x)并比较大小,这样就可以确定出已知f(x)的自变量x取值范围是在0-x/2还是在x/2-x之间,然后再取x/4或者3x/4,求取f(x)值与已知f值比较,知道达到你所要求的精度就可以结束了,这样这个x值实际上是无限的靠近真实解。
不知道看明白了没有。
参考技术C 用save filename var
将工作区变量var保存在filename.mat中
读取用load

以上是关于请教MATLAB中如何输出一个函数的最大值对应的变量值的主要内容,如果未能解决你的问题,请参考以下文章

像matlab高手请教

请教matlab,已知优化目标函数表达式和约束条件,如何求一个使目标极值的参数对应的一般表达式!

matlab 如何保留变量值

matlab中怎样批量处理文件?

请教高手!急!!! 请问如何将matlab中的矩阵数据转化为点云数据?

高分请教高手一个绘制隐函数三维图的问题(MATLAB)