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 commentaires

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?

Connectez-vous pour commenter.

Réponses (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))

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by