How can I write a loop, which can make the parameter "V" change with a cyclic variable "i"?

1 visualizzazione (ultimi 30 giorni)
My code is:
netlist = ['D:\1\MATLAB\mine.txt'];
code =['D:\\1\\MATLAB\\mine.asc\r\n'...
'R1 N001 0 {R}\r\n'...
'C1 N001 0 {C}\r\n'...
'V1 N001 0 {V}\r\n'...
'.tran .1\r\n'...
'.params R = 1000 C = 0.001 V = 15\r\n'...
'.backanno\r\n'...
'.end\r\n'];
fid = fopen(netlist,'w+');
fprintf(fid,code);
fid = fclose(fid);
I have to make the parameter "V" change with a cyclic variable "i". Is there any way to do that?
  1 Commento
Ujjwal Pratik
Ujjwal Pratik il 17 Apr 2020
Hi Zhenyu ,
I am facing a similar issue.
Can you share your code to show how you used "strcat" and "num2str" within a loop.?

Accedi per commentare.

Risposta accettata

Vladimir Sovkov
Vladimir Sovkov il 29 Gen 2020
Use Matlab functions "strcat" and "num2str" within a loop.
  3 Commenti
Ujjwal Pratik
Ujjwal Pratik il 17 Apr 2020
I am facing a similar issue.
Can you share your code to show how you used "strcat" and "num2str" within a loop.?
Zhenyu Wu
Zhenyu Wu il 18 Apr 2020
Of course. Here is my code.
netlist = ['D:\1\MATLAB\mine.net'];
code1 =['D:\\1\\MATLAB\\mine.asc\r\n'...
'R1 N001 0 {R}\r\n'...
'C1 N001 0 {C}\r\n'...
'V1 N001 0 SINE(0 {ampl} {freq})\r\n'...
'.tran .1\r\n'];
code2 =['.params R = 1000 C = 0.001 V = 15\r\n'];
code3 =['.backanno\r\n'...
'.end\r\n'];
for i=1:10
v=15*i;
vv=num2str(v);
code2=strcat('.params R = 1000 C = 0.001 V = ',vv);
fid = fopen(netlist,'w+');
fprintf(fid,code1);
fprintf(fid,code2);
fprintf(fid,code3);
fid = fclose(fid);
end;

Accedi per commentare.

Più risposte (0)

Tag

Prodotti


Release

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by