How to plot a function for different values of input parameter in a function
古いコメントを表示
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.
回答 (1 件)
Torsten
2022 年 9 月 13 日
Just define xi as a column vector of values, e.g.
xi = [0.03 0.06].'; % activity parameter
11 件のコメント
University Glasgow
2022 年 9 月 13 日
Torsten
2022 年 9 月 13 日
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
2022 年 9 月 13 日
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
2022 年 9 月 13 日
Torsten
2022 年 9 月 13 日
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
2022 年 9 月 13 日
編集済み: University Glasgow
2022 年 9 月 13 日
Torsten
2022 年 9 月 13 日
xi = [0.03, 0.06] is a vector, but a row vector.
University Glasgow
2022 年 9 月 13 日
%% 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
2022 年 9 月 13 日
カテゴリ
ヘルプ センター および File Exchange で Axis Labels についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

