首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绘制应力分布图?

如何绘制应力分布图?
EN

Stack Overflow用户
提问于 2021-01-13 16:41:31
回答 2查看 125关注 0票数 2

我正在尝试用matlab或其他程序绘制一张图,显示梁的一段截面上的应力分布。这是给定的函数:

代码语言:javascript
复制
  s(y): (q/(h^3*l))*(l^3*2*y+(l/5)*(3*h^2*y-20*y^3))

其中s表示应力,y表示高度。Y从-h/2到h/2。h,q和l是已知的值,没有具体的数字。

有没有人可以解释一下如何在一些程序中或甚至手动地这样做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-13 23:12:36

下面是一些matlab代码,用于绘制给定一组(h,q,l)值的应力分布。您指定的值应该是y的范围(即-h/2,h/2),但是您没有指定有多少样本...更改更多或更少采样的count值。

代码语言:javascript
复制
function [] = ShowStress(h, q, l, count)
%[
    % Default arguments
    if (nargin < 4), count = 1001; end
    if (nargin < 3), l = 0.1; end
    if (nargin < 2), q = 10; end
    if (nargin < 1), h = 10; end

    % Create range of values for y
    y = linspace(-h/2, h/2, count);

    % Compute stress distribution
    s = (q/(h^3*l))*(l^3*2*y+(l/5)*(3*h^2*y-20*y.^3));

    % Plot things
    plot(y, s);
    xlabel('y'); ylabel('stress');
    title(sprintf('Stress distribution (h = %G, q = %G, l = %G)', h, q, l));  
%]
end

票数 2
EN

Stack Overflow用户

发布于 2021-01-13 17:29:42

你想要做的是绘制一个三维曲面。下面的文档解释了如何生成覆盖选定范围内规则间距的x和y值的网格。然后计算每个对象的z值,然后使用。

请参阅https://matplotlib.org/3.1.0/gallery/mplot3d/surface3d.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65698325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档