Matlab 画出不同位置高度的圆柱--样例二

2023-11-09 21:40

本文主要是介绍Matlab 画出不同位置高度的圆柱--样例二,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.所有圆柱的坐标、高和半径都是随机的,在此列出代码和样例:

2.初始化函数:

define_yuanzhu.m

function [xx,yy,zz,rr]=define_yuanzhu(k,xx,yy,zz,rr)%k为圆柱个数
for j=1:kxx(j,1)=10.*randsample(20,1);yy(j,1)=10.*randsample(20,1);zz(j,1)=2.*randsample(20,1);rr(j,1)=randsample(20,1);
end

3. 主函数:

testh.txt

clc  
close  
clear  %定义圆柱个数
m=10;
%定义圆心  
xx=zeros(m,1);  
yy=zeros(m,1);  
%圆柱高矩阵  
zz=zeros(m,1); 
%圆柱半径矩阵
rr=zeros(m,1);
%初始化
[xx,yy,zz,rr]=define_yuanzhu(m,xx,yy,zz,rr);%中间变量  
newxx=zeros(21,1);  
newyy=zeros(21,1);  
tempnewxx=newxx;  
tempnewyy=newyy;  
for j=1:m  newxx=tempnewxx;  newyy=tempnewyy;  for i=1:21  newxx(i,:)=xx(j,1);  newyy(i,:)=yy(j,1);  end  %确定范围  [a,z]=ndgrid((0:.05:1)*2*pi,0:.05:zz(j,1));  x=cos(a).*rr(j,1);%21xsize(z,2)维 项数=((末项-首项)/公差)+1,这里是((1-0)/0.05)+1=21  y=sin(a).*rr(j,1);%21xsize(z,2)维  %画圆柱测面  fuzhinewxx=newxx;  fuzhinewyy=newyy;  for i=1:(size(z,2)-1)  newxx=cat(2,newxx,fuzhinewxx);  newyy=cat(2,newyy,fuzhinewyy);  end  surf(x+newxx,y+newyy,z,x*0)  axis equal  hold on  %画圆柱上表面 %圆柱上表面自变量  [a,r]=ndgrid((0:.05:1)*2*pi,[0 rr(j,1)]);  xt=cos(a).*r;%21x2维  yt=sin(a).*r;%21x2维 newxx=fuzhinewxx;  newyy=fuzhinewyy;  for i=1:(2-1)  newxx=cat(2,newxx,fuzhinewxx);  newyy=cat(2,newyy,fuzhinewyy);  end    surf(xt+newxx,yt+newyy,xt*0,xt*0)  surf(xt+newxx,yt+newyy,xt*0+zz(j,1),xt*0)  
end  

4.截图:(3次结果都是随机的)

这篇关于Matlab 画出不同位置高度的圆柱--样例二的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/378557

相关文章

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

MyBatis 切换不同的类型数据库方案

下属案例例当前结合SpringBoot 配置进行讲解。 背景: 实现一个工程里面在部署阶段支持切换不同类型数据库支持。 方案一 数据源配置 关键代码(是什么数据库,该怎么配就怎么配) spring:datasource:name: test# 使用druid数据源type: com.alibaba.druid.pool.DruidDataSource# @需要修改 数据库连接及驱动u

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(