C语言变量与运算符
getchar()函数
只能从键盘缓冲区接收字符,一次只能接收一个字符。如果之前有scanf("%c",&str);类似语句,回车键\n也被会当作一个字符留在键盘缓冲区。如果不是char类型倒不要紧。
如果之前没有用scanf()接收过字符,那么使用getchar()函数时,需要先键入字符,按enter键后,键入的字符(串)进入缓冲区,然后getchar会从中取一个字符(按输入的顺序),以后每次调用getchar()都会从缓冲区接收一个字符,直至缓冲区字符用完,再重复以上步骤。
getchar()函数的返回值也不是字符而是一个整型.(读取成功时就返回该字符的ASCⅡ值,失败时就返回一个-1。)
典型例题:加密电文,所有大小写英文字母+4(ASCII码) 循环,其余字符不变。 123456789101112131415161718#include <stdio.h>int main(){ char str; for ( ; (str=getchar()) != '\n' ; ) ...
地震波:ELCentro对于时域方法,可参考我上篇博客,主要有杜哈梅积分、中心差分法和Newmark-β法等;而对于频域方法,是通过正逆傅里叶变换加频响函数H(w)来实现的,具体原理如下图所示。
Matlab实现:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100clc;clear all;close all;%% 结构参数m = 120; % 质量 (t) k = 3e5; % 刚度 (N/mm)w = sqrt(k/m); % 结构自振频率 (rad/s)kesi = 0.05; % 阻尼比c = 2 * m * w * kesi; % 阻尼系数 (N·s/mm)%% 读取地震加速度数据time_step = 0.005; ...
力学基础
未读本篇文章主要介绍结构动力学中结构响应求解的数值方法:杜哈梅积分、中心差分法和NewMark-β法,并利用python实现。对于matlab版本,将python代码直接扔给AI,应该不难得到,故此处不再给出。
地震波时程文件,单位为重力加速度g。
数值算法杜哈梅积分
中心差分法
NewMark-β法
示例
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 ...
本项目是《智能设计与建造》课程的大作业,项目地址:https://github.com/Hushuangjun/ConstructionInspectionModel
智能设计与建造课程作业——施工巡检模型及其图形化界面场景需求:
模型训练及使用目标检测模型采用YOLOv5,数据集采用YOLO格式,图片及相应标签存放至datasets文件夹下。本项目也提供了本次作业训练得到的较优权重best.pt。模型保留了传统YOLOv5模型的训练、验证和预测的代码(见train.py、val.py和detect.py),便于后续可加入一些新的数据集进行训练。对于权重默认采用best.pt,数据集格式默认为data/custom_data.yaml,其他默认参数取值详见源码。下面是一个较为完整的示例。
环境准备:1pip install -r requirements.txt模型训练:1python train.py --data custom_data.yaml --weights best.pt --img 640 --batch-size 8 --device 0 --cache ram -- ...
前言最近写智能设计与建造的作业,偶然兴起想把地震动响应(时域信号)转换成频域信号,需要用到傅里叶变换,于是就去系统学了学,做了相关笔记(手稿),后面有兴趣还会做一些简单的项目实战一下。参考资料:
李永乐讲傅里叶变换: 只推荐前半部分,后半部分就在乱讲。
傅里叶变换通俗解释: 对于三角函数系的正交表示提了一嘴,有利于我们记忆。
从傅里叶级数到傅里叶变换:详细的数学推导
傅里叶变换推导: 这个视频很好地弥补了李永乐老师讲的不足的地方。
本篇博客封面:本篇博客封面引用了该文章里的图片,内容并未详细阅读。
理论推导
实战本文选取的地震波文件:acc.txt,使用离散傅里叶变换将地震加速度时程曲线转化成频域曲线,相关代码如下:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455clear allclcfile_acc = fopen('./acc.txt','r');acc_da ...
张量分析张量基础本想详细写一下张量分析基础的,奈何总是拖延,空不出时间来(敲公式太累,bushi),这里先放几个比较好理解的链接吧。需要有一定的线性代数基础,否则这还是看不懂的。该痛苦的还是得痛苦,只不过希望你看完下面链接能有一种轻舟已过万重山的感觉。
直观认识张量
张量基本运算
张量与线性映射
应力张量-线性映射
总结来说,张量是一个不变量,在不同基下有不同坐标表达,于是衍生出利用坐标变换定义的张量的形式(1)和坐标分量加基矢量定义法(2)。
$$ \tag{1} {T_{{i_1}{i_2}...{i_n}}} = {\beta _{{i_1}{j_1}}}{\beta _{{i_2}{j_2}}}...{\beta _{{i_n}{j_n}}}{T_{{j_1}{j_2}...{j_n}}}$$
$i_1$取1、2、3,其余指标同理; $ {T_{ {i_1} {i_2}…{i_n} } } $是张量$\mathbf{T}$的一个分量,一共$3^n$个这样的分量的有序集合构成一个n阶张量$\mathbf{T}$。
$$
\tag{2} \mathbf{T} = {T ...
最近在给小学六年级的朋友做英语辅导。说起音标,我也是大学才开始逐渐了解的,有了自己的一点见解,但不多,借这个机会系统学学!
音标学好音标的重要性发音是学英语十分关键的一步,发音不正确就听不准、读不好,更谈不上用英语交流。学习英语听、说、读、写四种能力不可偏废,而正确的发音是基础,音标的学习更是基础的基础。
英语字母英语有26个字母:A a, B b, C c, D d, E e, F f, G g, H h, I i, J j, K k, L l, M m, N n, O o, P p, Q q, R r, S s, T t, U u, V v, W w, X x, Y y, Z z元音字母为:A a, E e, I i, O o, U u,其余为辅音字母。(有没有想过为啥叫元音字母呀?因为这些字母一般发元音。同理,辅音字母一般发辅音,于是有同学问了,为啥是一般呢?因为也有例外呀,英语学习中充斥着太多的例外了,先掌握一般规律,再记特例。)
音标的分类
英语国际英标有48个,其中20元音,28个辅音。
元音可分为长元音(5个)、短元音(7个)和双元音(8个)。
辅音主要有清辅音、浊辅音、 ...
实用小技巧
未读搜索引擎从搜索效率来看,排序如下:谷歌 > 公众号 > 短视频 > 百度;
对于本专业,由于经常需要搜索中文,这时候许多公众号文章质量比较高,但百度是搜索不到的,这时候推荐使用搜狗引擎,可以直接搜索微信公众号文章!
基础搜索语法以Google为例:
“ “限定关键词如下图所示:
不然,得到的结果非常之多,还有可能被热门人物所覆盖,得不到想要的结果!
intitle限定标题关键词如下图所示:(注意,必须是英文冒号:,下同)
上述得到的结果只是一个标题里包含上述关键词,并不一定连续,如果改为:intitle:”华为遥遥领先”,则标题中关键词也必须是连续的。如下图:
allintitle限定标题多个关键词如果想要限定标题多个关键词,就可以使用allintitle.各关键词之间用空格分隔!
intext限定内容关键词本质与上面intitle无异,只是限定内容关键词,故不过多赘述!
intitle和intext联合使用如下图所示:
inurl限定网址关键词如下图所示:
site限定网址来源如下图所示:
imagesize限定图片尺寸特别要注意,书写时,例如: Jason Zha ...