Not sure what commands to use for eg. 0<x<a, when certain values are given

I'm trying to make a script that when values for Q, a and L are plugged in the following are computed (a random x variable in between the following):
W for 0 < x < a
Qw{
0 for a < x < L
and
-W(a-x) for 0 x ≤ a
Mw{
0 for a < x L
I'm not even sure where I would start to be able to do this, so any help would be appreciated. Even just some tips. Thanks for any advice guys!

3 comentarios

Where does Q come in to play?
sorry I made a mistake, by Q i meant W was going to be plugged in
OK, so doesn't my code below do the trick?

Iniciar sesión para comentar.

Respuestas (2)

You might want to start by reading up on logical indexing (search the documentation). Your first example:
Qw = zeros(size(x));
Qw(x > 0 & x < a) = W;
Try something like this:
L = 20
a = 3
W = randi(9, 1, L)
% Define x to have the same number of samples between 0 and L as W does.
x = linspace(0, L, length(W));
% Get two ranges
range1 = x<a
range2 = x > a
% Make arrays
Qw = zeros(1, length(W));
Qw(range1) = W(range1)
Mw = zeros(1, length(W));
Mw(range1) = -fliplr(W(range1))

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 6 de Nov. de 2013

Comentada:

el 7 de Nov. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by