How to plot a function for different values of input parameter in a function
Show older comments
Hi,
Please, how do I create a procedure/function such that it carries \xi as an input and use it to plot r for different values of \xi. I have attached my code.
Answers (1)
Torsten
on 13 Sep 2022
Just define xi as a column vector of values, e.g.
xi = [0.03 0.06].'; % activity parameter
11 Comments
University Glasgow
on 13 Sep 2022
Torsten
on 13 Sep 2022
I don't understand.
In your code, both graphics (for xi=0.03 and xi =0.06) appear in the same figure if you leave the rest of your code unchanged.
University Glasgow
on 13 Sep 2022
Did you use xi as column vector ?
Try what you get with elementwise multiplication of a column vector with a row vector.
r = rand(1,3);
xi = rand(2,1);
r.*xi
%% initialization
clear
clc
close all
%% Model parameters
global k1 eta1 alpha3 gamma1 d xi
k1 = 6*10^(-12); % elastic constant
eta1 = 0.0240; % viscosity
xi = [0.03 0.06 0.09].'; % activity parameter
alpha3 = -0.001104; % viscosity
gamma1 = 0.1093; % viscosity
Theta = 0.0001;
d = 0.0002;
%% r(q) from matlab
alpha=1-alpha3^2/gamma1/eta1;
q=0:0.01:(5*pi);
r=q-(1-alpha)*tan(q)+(alpha3*xi*alpha/eta1)./(4*k1*q.^2/d^2-alpha3*xi/eta1).*tan(q);
% Plotting r(q)
figure
plot(q,r)
xlabel('q')
ylabel('r(q)')
axis([0 5*pi -20 20])
University Glasgow
on 13 Sep 2022
Torsten
on 13 Sep 2022
I don't understand. My answer was
Just define xi as a column vector of values, e.g.
xi = [0.03 0.06].'; % activity parameter
University Glasgow
on 13 Sep 2022
Edited: University Glasgow
on 13 Sep 2022
Torsten
on 13 Sep 2022
xi = [0.03, 0.06] is a vector, but a row vector.
University Glasgow
on 13 Sep 2022
%% initialization
clear
clc
close all
%% Model parameters
global k1 eta1 alpha3 gamma1 d N Phi xi h A B C G
k1 = 6*10^(-12); % elastic constant
eta1 = 0.0240; % viscosity
xi = [-0.02 0.01 0.0].'; % activity parameter
alpha3 = -0.001104; % viscosity
gamma1 = 0.1093; % viscosity
Theta = 0.0001;
d = 0.0002;
%% Extract r(q) data from maple
%rqdata= xlsread('rqdata.xlsx');
%rq= rqdata(:,2);
%qsize = rqdata(:,1);
%% r(q) from matlab
alpha=1-alpha3^2/gamma1/eta1;
q=0:0.001:(5*pi);
r=q-(1-alpha)*tan(q)+(alpha3*xi*alpha/eta1)./(4*k1*q.^2/d^2-alpha3*xi/eta1).*tan(q);
% Plotting r(q)
%figure
%hold on
%plot(qsize,rq, 'r', MarkerSize=2)
plot(q,r, 'b--', MarkerSize=2)
xlabel('t (seconds)')
ylabel('\theta(d/2,t)(rad)')
legend('maple', 'matlab')
axis([0 5*pi -20 20])
University Glasgow
on 13 Sep 2022
Categories
Find more on Axis Labels 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!
