clear T=input('请输入系统节点数:'); l=input('请输入系统支路数:'); precision=input('请输入收敛值:'); AL=xlsread('AL39.xls'); AN=xlsread('AN39.xls'); %----------------------输入参数-------------------------- YN=zeros(T); YL=zeros(T); Y=zeros(T); %----------------------参数初始化------------------------- for i=1:1:l; LT=AL(i,1); switch LT; case 0 %线路 m=AL(i,2); n=AL(i,3); rl=AL(i,4); xl=AL(i,5); zl=rl+1i*xl; YL(m,n)=1/zl; YL(n,m)=YL(m,n); YN(m,m)=YN(m,m)+AL(i,6)/2+YL(m,n); YN(n,n)=YN(n,n)+AL(i,6)/2+YL(n,m); case 1 %变压器 m=AL(i,2); n=AL(i,3); rl=AL(i,4); xl=AL(i,5); zl=rl+1i*xl; k=AL(i,7); YL(m,n)=1/zl/k; YL(n,m)=YL(m,n); if(AL(i,8)==1) %首端变比侧 YN(m,m)=YN(m,m)+YL(m,n)+(1-k)/zl/k^3; YN(n,n)=YN(n,n)+YL(n,m)+(k-1)/zl/k^2; else %首端非变比侧 YN(n,n)=YN(n,n)+YL(n,m)+(1-k)/zl/k^3; YN(m,m)=YN(m,m)+YL(m,n)+(k-1)/zl/k^2; end end end Y=YN-YL; %节点导纳矩阵 G=real(Y); B=imag(Y);
时间: 2024-04-28 19:26:19 浏览: 94
这段代码是用MATLAB实现的电力系统节点导纳矩阵的计算。输入了系统节点数、系统支路数和收敛值等参数,然后从外部文件中读取了AL39.xls和AN39.xls两个数据表格,这两个表格分别存储了电力系统的支路参数和节点参数。接下来进行参数初始化,对于每个支路先进行判断,如果是线路则计算该线路的导纳矩阵,如果是变压器则计算该变压器的导纳矩阵。最后计算得到节点导纳矩阵,分别提取出实部和虚部存储在G和B两个矩阵中。
相关问题
clc clear %第一步:用户输入年月日 year=input('请输入年份:'); month=input('请输入月份:'); day =input('请输入日期:') ; %根据用户输入的年份,判断是否为闰年 days_of_month=[31 28 31 30 31 30 31 31 30 31 30 31 ]; if (mod(year,400)==0)||(mod(year,4)==0)&&(mod(year,100)~=0) days_of_month(2)=29; end %计算已经过去的天数 days_of_year=sum(days_of_month(1:month-1))+day;后面怎么做图Matlab
要根据具体的需求来绘制图形,你可以使用 MATLAB 自带的 plot 函数来绘制基本的二维图形,例如:折线图、散点图、柱状图等。在你的代码中添加以下语句可以绘制折线图:
```
x = 1:12; % 月份
y = cumsum(days_of_month); % 累计天数
plot(x, y, '-o')
title('每个月累计天数')
xlabel('月份')
ylabel('天数')
```
这段代码中,我们创建了一个 x 和 y 向量,分别表示月份和累计天数。`cumsum` 函数用于计算累计和。然后使用 `plot` 函数绘制折线图,并添加了标题、x轴标签和y轴标签。`-o` 表示折线图上的数据点用圆圈标记。
你可以根据需要对代码进行调整,例如修改标题和标签的文字,更改数据点的样式等。
微信小程序input只能输入数字
微信小程序中,如果你想让input框只能输入数字,你可以使用以下两种方法:
方法一,通过监听input事件,利用正则表达式过滤非数字字符,并通过setData更新value值。具体代码如下:
```
handleInput(e) {
let value = this.validateNumber(e.detail.value)
this.setData({ value })
},
validateNumber(val) {
return val.replace(/\D/g, '')
}
```
在这个方法中,我们利用正则表达式`\D`来匹配非数字字符,使用`replace`方法将其替换为空字符串,从而过滤掉非数字字符。
方法二,通过将input的类型设置为number,这样用户只能输入数字。具体代码如下:
```
<view class="ys-number-input {{error?'error':''}}">
<input type="number" auto-focus focus='{{focus}}' value="{{value}}" title="" bindinput="handleInput" bindblur="validate" maxlength="11" placeholder="请输入十一位手机号码..." placeholder-style="font-size:3vw;"/>
<image bindtap="clear" hidden="{{!showClose}}" src="/assets/icon/close.png"></image>
</view>
```
在这个方法中,我们将input的类型设置为number,这样用户在输入时只能输入数字。
无论你选择哪种方法,都可以实现在微信小程序中只允许输入数字的功能。
阅读全文