errors in matlab function block in simulink

i am trying to create a matlab function block in the Simulink that generates square pulses as pulse generator but errors appear please help , I attached screenshots.
<<
>>

답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2016년 4월 11일

0 개 추천

Your code is not correct. Plus, generating a puls train with Matlab function is not a good idea. You have to know that your Matlab function block, the way it's programmed, will outpu,t each sample time, an entire array.
You can generate such signal with from file block, from worksapce block or using repeated sequence
If you want to use from file block
Fs=1e+9
tend=10*4e-6
t=0:1/Fs:tend;
pulsewidth=1e-6
pulseperiods=(0:10)*4e-6
x=pulstran(t,pulseperiods,'rectpuls',pulsewidth)
v=[t;x];
save yourfile v
Then set the name "yourfile" in the frome file block

댓글 수: 28

should I write your code in the matlab function block or where please clarify ? ( and thanks for helping really appreciate it )
No, in a script, or Windows Command. The aim is to create the file that contains your signal.
I saved it by this name , how should I implement it now in the Simulink block ?
Another way is to use repeating sequence block set the x variable to your block
mohamed samhy
mohamed samhy 2016년 4월 11일
편집: mohamed samhy 2016년 4월 11일
that error appears and no o/p
What error?
and the scope shows no square pulses , sorry for disturbance I really appreciate your helping
In model configuration parameters set the solver to discret. and set the stop time to tend
I adjusted the solver to discrete but I cant find how to set the stop time
I found the stop time you mean I adjust it to ( 10 ) ? I will try now
no, set it to tend. because your frequency is very high 1e9. If you want to see quickly your pulse train, set the stop time to t(end) or tend
mohamed samhy
mohamed samhy 2016년 4월 11일
편집: mohamed samhy 2016년 4월 11일
it shows error because tend it is very big and maximum is 200000
Do you know what is tend?
From your code:
tend=10*4e-6
How now it's equal to 200000?
mohamed samhy
mohamed samhy 2016년 4월 11일
편집: mohamed samhy 2016년 4월 11일
yes the period of my square train pulse which is 4 microseconds
mohamed samhy
mohamed samhy 2016년 4월 11일
편집: mohamed samhy 2016년 4월 11일
sorry this was shown to me not 20000
thanks for help I just failed to do it and I exhausted you thanks again
Azzi Abdelmalek
Azzi Abdelmalek 2016년 4월 11일
편집: Azzi Abdelmalek 2016년 4월 11일
Have you read my previous comment? probably you have cleared the variable tend. before running your simulink model you need to set the variable tend to its original value
tend=10*4e-6
u mean from the variables in the matlab , ohh I thout Simulink is isolated from matlab . I will try now
I tried again same error , I got exhausted seems I cant do it , if u can send me a file I would really appreciate it , thanks again for all.
here the attached mat file
I have a problem in the Simulink model if u please lastly can send it to me , my attached file is same as yours because I did it by your step but the Simulink is hard to run without errors. thanks so much so far
https://www.dropbox.com/s/a5dlpl56eoohbhf/matfunc.zip?dl=0 this my Simulink file if u can attach your file and see what error appear that will be so helpful , thanks
Here a simulink model
mohamed samhy
mohamed samhy 2016년 4월 15일
편집: mohamed samhy 2016년 4월 15일
it did work ,man you are such a great helpful person hope u have a happy life for helping people so much . thanks again man :)

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Simulink에 대해 자세히 알아보기

질문:

2016년 4월 11일

편집:

2016년 4월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by