フィルターのクリア

Finding the maximum position (x,y) coordinate from contour plot

7 ビュー (過去 30 日間)
Susmita Panda
Susmita Panda 2021 年 8 月 24 日
コメント済み: DGM 2021 年 8 月 31 日
%% ABGS
clc
clear all
eta_dom=1:5;
epsilon_dom=6:10;
n_load=1:5;
Disp_dom=[1:5;6:10;11:15;16:20;21:25];
eta_len=length(eta_dom);
eps_len=length(epsilon_dom);
load_len=length(n_load);
Dis_max_1=zeros(load_len,1);
Disp=zeros(eta_len,eps_len);
tic
for ie=1:eta_len
eta=eta_dom(ie);
ie
for s=1:eps_len
eps=epsilon_dom(s);
s
for k=1:load_len
load=n_load(k);
k
Disp=Disp+Disp_dom;
end
end
end
toc
% [x, y] = meshgrid(epsilon_dom,eta_dom);
% % [C, h] = contour(x, y, Disp);
% [max_e,index] = max(abs(Disp));
% [max_e_1,index_1] = max(max_e);
% Dis_max_1(k,1)=max_e_1;
% x_max = x(index_1);
% y_max = y(index_1);
% x_m(k,1)=x_max;
% y_m(k,1)=y_max;
%
% figure();s1=contourf(epsilon_dom,eta_dom,Disp);view(2);colormap(hot);colorbar;set(colorbar,'linewidth',1.5,'Box','on');hold on;
% figure();plot(n_load,Dis_max_1);
% figure();plot(n_load,x_m);
% figure();plot(n_load,y_m);
In the above attached matlab code I am trying to find the position (x,y) coordinates from contour plot. I want to plot contour between 'Disp','eta_dom','epsilon_dom' for 'n_load'. I want to find maximum X (eta_dom) and Y (epsilon_dom) coordinate for different n_load=1,2....for max(summation displacement) (Z).
I am trying to plot n_load (x) vs max disp (y); n_load (x) vs max eta (y) and n_load (x) vs max epsilon (y). But here I am doubtful about results as my 'disp' is summed up, i am getting single maximum value only whereas I want each of the max displ for each of the summing load.
  3 件のコメント
Ashutosh Singh Baghel
Ashutosh Singh Baghel 2021 年 8 月 31 日
Hi Susmita,
I believe you want to plot the 3-d contour plot using ‘eta_dom’ and ‘epsilon_dom’ as ‘x’ and ‘y’ respectively and Disp as the ‘z’ variable. Please refer to an example code provided below with some modifications.
fig_1 = figure();
[x, y] = meshgrid(epsilon_dom,eta_dom);
% [C, h] = contour3(x, y, Disp);
[max_e,index] = max(abs(Disp'));
[max_e_1,index_1] = max(max_e);
Dis_max_1(k,1)=max_e_1;
x_max = x(index_1);
y_max = y(index_1);
x_m(k,1)=x_max;
y_m(k,1)=y_max;
%s1=contour(epsilon_dom,eta_dom,Disp);
s1=contour3(epsilon_dom,eta_dom,Disp);
% view(2);
colormap(hot);
colorbar;
set(colorbar,'linewidth',1.5,'Box','on');
hold on;
fig_2 = figure();
plot(n_load,max_e,'s--');
fig_3 = figure();
plot(n_load,x_m);
DGM
DGM 2021 年 8 月 31 日
I don't really understand what you're trying to do if finding the maximum value isn't what you want.
The whole set of loops is confusingly unnecessary.
Disp = load_len*eta_len*eps_len*Disp_dom;
eta = eta_dom(end);
eps = epsilon_dom(end);
load = n_load(end);

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeContour Plots についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by