call a input variable in a function
2 views (last 30 days)
Show older comments
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 Comments
Stephen23
on 5 Apr 2021
"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.
Answers (1)
DGM
on 6 Apr 2021
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 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!