Matlab 在函数之间传递输出参数,代码不起作用

Matlab 在函数之间传递输出参数,代码不起作用,matlab,function,data-structures,Matlab,Function,Data Structures,我似乎无法将变量从一个函数传递到另一个函数。我已经非常广泛地使用了函数(但我还是一个编程新手),所以我可能只是犯了一个愚蠢的错误,但我一辈子都找不到它!这就是我正在做的 我的第一个功能 function [ ToFparam ] = ToF_3D_Viewer( ToFparam, RGBparam, Naviparam, DICOMparam ) ToF_2_DICOM_Coords(ToFparam,Naviparam,DICOMparam); disp(ToFparam.R

我似乎无法将变量从一个函数传递到另一个函数。我已经非常广泛地使用了函数(但我还是一个编程新手),所以我可能只是犯了一个愚蠢的错误,但我一辈子都找不到它!这就是我正在做的

我的第一个功能

function [ ToFparam ] = ToF_3D_Viewer( ToFparam, RGBparam, Naviparam, DICOMparam )
    ToF_2_DICOM_Coords(ToFparam,Naviparam,DICOMparam);
    disp(ToFparam.ROI.XYZ_DICOM); %says it's a non-existent field!
end
我的第二个功能

function [ ToFparam ] = ToF_2_DICOM_Coords( ToFparam, Naviparam, DICOMparam )
    Naviparam.Endotip_2_Tracker = diag([1,-1,-1,1]);
    [m,n,z]=size(ToFparam.ROI.XYZ);
    ToFparam.ROI.XYZ_DICOM=reshape(inv(Naviparam.data.Endo_RefHomMat(1:3,1:3))*inv(Naviparam.Endotip_2_Tracker(1:3,1:3))*(reshape(ToFparam.ROI.XYZ,[m*n z]))')',[m n z]);
    disp(ToFparam.ROI.XYZ_DICOM) %outputs correctly!
end
我还尝试将我的第一个函数更改为以下函数,但当我后来尝试将
ToFparam.ROI.XYZèDICOM
添加到另一个相同大小的矩阵时,它会在我的
ToFèu DICOMèCoords
函数中作为矩阵输出,它抛出一个错误,说我无法添加“structure”类型的变量


提前感谢

您应该在对
ToF_2_DICOM_Coords
的函数调用中请求返回值

function [ ToFparam ] = ToF_3D_Viewer( ToFparam, RGBparam, Naviparam, DICOMparam )
    Tofparam = ToF_2_DICOM_Coords(ToFparam,Naviparam,DICOMparam);
    disp(ToFparam.ROI.XYZ_DICOM); %says it's a non-existent field!
end

您应该在对
ToF\u 2\u DICOM\u Coords
的函数调用中请求返回值

function [ ToFparam ] = ToF_3D_Viewer( ToFparam, RGBparam, Naviparam, DICOMparam )
    Tofparam = ToF_2_DICOM_Coords(ToFparam,Naviparam,DICOMparam);
    disp(ToFparam.ROI.XYZ_DICOM); %says it's a non-existent field!
end

谢谢,我知道这是件很愚蠢的事。我想这个问题在创纪录的时间内被问到并解决了谢谢,我知道这是一件愚蠢的事情。我认为这个问题在创纪录的时间内被提出并解决了