(simulink beginner) : cannot load a time series from workspace
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi all,
I am trying to figure out how to make some simple things work in Simulink. For example I have a matlab function which computes the position of an object given it's previous position and its velocity, as follows:
function [xnew vnew] = miModel(x,v,dt)
% x is the current position
% v is the current velocity
xnew = x + dt*velocity; % xnew is the new position
vnew = v; % new velocity =v in this example
end
I want to load the 'velocity' variable from workspace, using the 'FromWorkspace' block. I define the velocity variable in the required structure as follows:
velocity.time = [linspace(0,1,100)]'; % 100
velocity.signals.values = [0*ones(50,1); 1*ones(50,1)] ;
velocity.signals.dimensions = [1];
I construct my model as shown below..
or here for a fullsize image:
when I run the simulation, it does not read the values I provide;i.e., first 50 iterations with velocity 0, and the other 50 with velocity =1; Please note that I am using a simple model in 1-D (velocity and position on x-axis only). Also, since I am working in discrete time, I set my solver to 'discrete' with fixed step = 1;
Any ideas? Many thanks...from a simulink beginner M
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 30 Sep. 2012
Bearbeitet: Azzi Abdelmalek
am 30 Sep. 2012
how to set a variable from workspace
time=0:0.1:10
signal=sin(t)
variable=[time;signal]'
7 Kommentare
Azzi Abdelmalek
am 1 Okt. 2012
yes, since you are handling a discret process, it is better if you control the sample time. you have just to set all sample time blocks to ts, in workspace or m file you set ts= what you want.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Sources finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!