call a input variable in a function
2 次查看(过去 30 天)
显示 更早的评论
I have created a model using pdetool command and kept the model under a function with name 'heat.m' as follows:
function A = heat (B,~)
Model = createpde('thermal','transient');
............
C = B/3.2;
E = C/5.;
..........
end
Calling the above function within a for loop in separate script file. The for loop are as follows:
t1=0:0.1:1;
for j=1:length(t1)
D(j) =.....;
A = heat (D(j));
end
I am not getting any results. I understand that I am doing wrong while calling input variable B. At each iteation, the variable B will be replaced by D(j). How can I replace the input variable correctly?
4 个评论
Stephen23
2021-4-5
"I am not getting any results."
Please explain exactly what you expect, and what you observe (and how you are checking it).
"I understand that I am doing wrong while calling input variable B."
Why do you understand that? The most obvious bug I can see is the lack indexing into the output array, which means that your code will overwrite all A data except for the data from the last iteration.
回答(1 个)
DGM
2021-4-6
The function definition indicates that A is the output array.
function A = heat (B,~)
But at least from what's shown here, A is never defined within the function scope, so nothing will be returned.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!