matlab java 返回值_如何分别指定matlab返回值?

博客内容介绍了如何在MATLAB中指定子函数返回值,特别是在优化算法的示例中,如何分别获取`mytestee`函数中`G`和`F`的值。同时也提到了两个与DICOM图像处理相关的函数`read_dicom`和`write_dicom`,用于读取和写入DICOM图像,并讨论了它们的使用方法和返回值。
摘要由CSDN通过智能技术生成

如何分别指定matlab返回值?

主程序:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

format long;

eps = 1.0e-6;

z1=5;

z2=8;

r0 = (z1+z2)/2;

l = 0;

tol = 1;

while tol>eps

Gz1= mytestee(z1);              %此处只希望返回子函数中G的值

Gz2 = mytestee(z2);             %此处只希望返回子函数中G的值

Gr0 = mytestee(r0);              %此处只希望返回子函数中G的值

ru = Gz1*(z2^2 - r0^2)+Gz2*(r0^2 - z1^2)+Gr0*(z1^2 - z2^2);

rd = Gz1*(z2 - r0)+Gz2*(r0 - z1)+Gr0*(z1 - z2);

r1 = ru/2/rd;

Gr1 = mytestee(r1);                 %此处只希望返回子函数中G的值

tol = abs(r1 - r0);

if Gr1 <= Gr0

if r1<= r0

z2 = r0;

r0 = r1;

else

z1 = r0;

r0 = r1;

end

l = l+1;

else

if r1<= r0

z1 = r1;

else

z2 = r1;

end

l=l+1;

end

end

x = r1

y=mytestee(r1)                                       %此处只希望返回子函数中F的值

minG = mytestee(r1)                              %此处只希望返回子函数中G的值

函数:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [F,G]=mytestee(t)

F=t+2;

G=t^2-log(t)-5;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

感谢大家回答!!!

八达山顶

发布

3个回答

67b0a70febe552c922c54bb8560d6ef6.png

a45edcccf45575bc74cbc4eb0fc99df2.png

在matlab 2006上写的两个函数,这两个函数的调用格式为:

读DICOM图像数据:

X = read_dicom(filename)

这个函数的作用是从filename所指定的文件中读取图像数据,通过X返回(如果是灰度图像,X是一个二维矩阵;如果是真彩色,则是一个三维矩阵)。同时,该函数还会将读取的图像用一个新的窗口显示出来。其中,函数的参数filename是一个字符串,也就是你要读取的DICOM文件名,这个DICOM文件必须要放在matlab的工作目录下,通常情况下,这是在matlab的work\子目录下。比如,在我的机器上就是放在C:\matlab2006\work\目录下的,如果你的matlab工作目录与这里的不同,请把源代码文件和要转换的图像文件都放到工作目录下再运行。

比如,要读取“滤线栅2_5mAs.dcm”这个文件,那么只需要在命令窗口输入:

X = read_dicom('滤线栅2_5mAs.dcm')

就可以了。

与此类似,要读取“滤线栅3_2mAs.dcm”,只需要输入:

X = read_dicom('滤线栅3_2mAs.dcm')

就可以了。写DICOM图像数据:

status = write_dicom(in_filename, out_filename)

这个函数的作用是把in_filename所指定的通用图像文件格式(如BMP,JPEG等)转换为DICOM文件并输出。目前,对JPEG的支持较好,转换BMP索引图像还有问题,暂时没有找到解决办法,没有发现问题出在哪里。在我打包的压缩文件里面,有两个用来测试这个函数的JPEG文件,分别是test20.jpg和yazhi.jpg。

比如,要将test20.jpg转换为DICOM文件并保存为test20.dcm文件,只需要在命令窗口输入:

status = write_dicom('test20.jpg', 'test20.dcm')

这里的status是函数的返回值,如果出错,可以通过它得知出错的原因。

类似地,如果要转换yazhi.jpg,则只需输入:

status = write_dicom('yazhi.jpg', 'yazhi.dcm')

即可。

转换后得到的test20.dcm和yazhi.dcm可以用DICOM专用程序打开,比如CVIEW.exe。请自己尝试。

另外需要注意的是,文件名必须要指定后缀,如果是JPEG格式,则文件名必须以.jpg结尾。

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

3b222a6b311f7b686b2ec39f191696fb.png

解:设还需要50%葡萄糖xml.

则5%×250+50%x=10%(250+x)

解得:x=31.25

答: 还需要50%葡萄糖31.25ml

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

6e32d1ac4c0320e6a9ac1a1781124101.png

-

用sum()函数,sum()可求各个列的和,再sum一次即求出所有元素的和。(只有一行时,求行的值);例如:a=[1 2 3;4 5 6];b=sum(a)b =   5   7   9sum(b)ans=21 。

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

精华知识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值