如何分别指定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个回答
在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结尾。
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
解:设还需要50%葡萄糖xml.
则5%×250+50%x=10%(250+x)
解得:x=31.25
答: 还需要50%葡萄糖31.25ml
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
-
用sum()函数,sum()可求各个列的和,再sum一次即求出所有元素的和。(只有一行时,求行的值);例如:a=[1 2 3;4 5 6];b=sum(a)b = 5 7 9sum(b)ans=21 。
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
精华知识