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

1 view (last 30 days)
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 Comments

Sign in to comment.

Answers (2)

Kelly Kearney
Kelly Kearney on 6 Nov 2013
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;

Image Analyst
Image Analyst on 6 Nov 2013
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))

Categories

Find more on Argument Definitions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!