matlab 如何保留变量值
现有两个函数,分别叫kuandu和chineselisan。函数chineselisan经过计算得到一个EucDist值,函数kuandu调用函数chineselisan...
现有两个函数,分别叫kuandu和chineselisan。函数chineselisan经过计算得到一个EucDist值,函数kuandu调用函数chineselisan就可以得到多个EucDist值。
要求:如何保留函数kuandu调用函数chineselisan所得到的每一个EucDist值,请给出集体程序,谢谢! 展开
要求:如何保留函数kuandu调用函数chineselisan所得到的每一个EucDist值,请给出集体程序,谢谢! 展开
4个回答
展开全部
在使用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
【适用情况】冗余变量非常多,保存的变量较少。
但是用上述命令保存的时候,会将计算过程中的其他变量一起保存了。这中粗糙的保存有以下缺点:
(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
【适用情况】冗余变量非常多,保存的变量较少。
展开全部
可能是因为函数kuandu调用函数chineselisan的时候,上次调用的结果都被下次调用的结果覆盖了。结果被存在同一个变量中了。我们只要将每一个函数chineselisan返回的结果存在数组中就可以了,例如:
i=1:n;
x(i)=chineselisan( 参数 );
或者直接将结果在命令窗口中输出来,即把‘ ;’去掉就可以了
i=1:n;
x(i)=chineselisan( 参数 );
或者直接将结果在命令窗口中输出来,即把‘ ;’去掉就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为函数是单调的,可以利用二分法来做,给定一个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值实际上是无限的靠近真实解。
不知道看明白了没有。
然后取x/2,再次求出f(x)并比较大小,这样就可以确定出已知f(x)的自变量x取值范围是在0-x/2还是在x/2-x之间,然后再取x/4或者3x/4,求取f(x)值与已知f值比较,知道达到你所要求的精度就可以结束了,这样这个x值实际上是无限的靠近真实解。
不知道看明白了没有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用save filename var
将工作区变量var保存在filename.mat中
读取用load
将工作区变量var保存在filename.mat中
读取用load
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询