Building array with custom function
이전 댓글 표시
Hello,
I am facing a problem with building an array using a custom function.
I would like to transfer a task from the main script file to the function file. I have such a piece of script:
StageMain=0;
TStart=10;
TEnd=500;
TStep=0.001;
Tmag=1;
.
.
.
DataInput = ones(length(StageMain),8);
Tarray = ones(1,length(StageMain));
.
.
.
T=TStart;
while T<TEnd
T=T+TStart*StageMain;
StageMain=StageMain+TMag;
DataInput(StageMain,1) = double(T);
Tarray(1, StageMain) = double(T);
end
its job is to build (actually update) two arrays DataInput and Tarray. Now I am trying to put this in function file which also will give me two updated arrays.
function [DataInput, Tarray] = arraybuilder(TStart, TEnd, TStep, TMag, StageMain)
T=TStart;
while T<TEnd
T=T+TStep*StageMain;
StageMain=StageMain+TMag;
DataInput(StageMain,1) = double(T);
Tarray(1, StageMain) = double(T);
end
however, it only builds one vertical array that has double-length and the first part is filled with 0 and the second one with correct answers for DataInput
Thank you for any ideas.
댓글 수: 5
I made the following function:
function [DataInput, Tarray] = arraybuilder(TStart, TEnd, TStep, TMag, StageMain)
T=TStart;
while T<TEnd
T=T+TStep*StageMain;
StageMain=StageMain+TMag;
DataInput(StageMain,1) = double(T);
Tarray(1, StageMain) = double(T);
end
and then called it from the commnad line with:
[X Y] = arraybuilder(10,500,.001,1,0)
and the answer shows that both X and Y are 991 non-zero elements, and X(i) == Y(i) for all i.
Mateusz Brzezinski
2020년 7월 20일
when I run with
[X Y] = arraybuilder(3.372510000000000e+02,380,.001,1,0)
I get X and Y with 293 non-zero elements, and X(i) == Y(i) for all i.
I'm still not seeing the problem that you described.
Mateusz Brzezinski
2020년 7월 20일
Roger J
2020년 7월 20일
Good! We've all been there. Mark the answer accepted, if you can.
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Financial Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!