Is there way to easily change the value of multiple values using a for loop?

5 次查看(过去 30 天)
This is hard for me to explain, but I was wondering if there was a way to use a for loop to simlify this code. My problem is that I dont know how I could call the specific variable in the for loop that is needed to be changed.
My Code:
if isempty(k1_exact)
k1_exact = -1;
end
if isempty(k2_exact)
k2_exact = -2;
end
if isempty(k1_U)
k1_U = -3;
end
if isempty(k1_L)
k1_L = -4;
end
if isempty(k2_U)
k2_U = -5;
end
if isempty(k2_L)
k2_L = -6;
end

回答(1 个)

Sahil Jain
Sahil Jain 2021-11-17
Hi Nick. You can try using the "eval" function for your purpose. The following code snippet demonstrates how you may go about it.
variables = ["k1_exact", "k2_exact", "k1_U", "k1_L", "k2_U", "k2_L"];
for i=1:length(variables)
eval(strcat(variables(i), "=-", num2str(i)))
end
k1_exact = -1
k2_exact = -2
k1_U = -3
k1_L = -4
k2_U = -5
k2_L = -6
For every variable, we first create a string of the assignment expression. We then pass this string to the "eval" function to execute the operation.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by